﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Abp.Application.Services;
using FwProject.Restaurant.Dto;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Rendering;

namespace FwProject.Restaurant
{
    public interface IRestaurantTypeNumberAppService: IApplicationService
    {
        /// <summary>
        /// 创建一个型号
        /// </summary>
        /// <returns>The create.</returns>
        /// <param name="input">Input.</param>
        Task<Guid> Create(RestaurantTypeNumberInput input);

        /// <summary>
        /// 修改型号信息
        /// </summary>
        /// <returns>The create.</returns>
        /// <param name="input">Input.</param>
        Task Update(Guid id, RestaurantTypeNumberInput input);
        /// <summary>
        /// 修改型号单价
        /// </summary>
        /// <param name="id"></param>
        /// <param name="price"></param>
        /// <returns></returns>
        Task EditPrice(Guid id, decimal price);
        /// <summary>
        /// 返回型号信息
        /// </summary>
        /// <returns>The by identifier async.</returns>
        /// <param name="id">Identifier.</param>
        Task Delete(Guid id);

        [HttpGet]
        Task<RestaurantTypeNumberDto> GetByIdAsync(Guid id);
        /// <summary>
        /// 获取型号列表
        /// </summary>
        /// <returns>The paged list async.</returns>
        /// <param name="id">型号编号</param>

        [HttpGet]
        Task<X.PagedList.IPagedList<RestaurantTypeNumberDto>> GetPagedListAsync(int pageIdx, int pageSize, DateTime? begindateTime, DateTime? enddatetime);
        /// <summary>
        /// 通过餐厅编号获取配送型号
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<List<RestaurantTypeNumberDto>> GetRestaurantTypeNumAsync(Guid id);

        Task<List<RestaurantTypeNumberDto>> GetRestaurantTypeNumberAsync(Guid id);

        Task<List<RestaurantTypeNumberDto>> GetAppRestaurantTypeNumAsync(Guid id);



    }
}
